Wichtig !!! | N E U E S ... | Inhalt | Hotline | Stichwortverzeichnis |
Kapitel 5-11
Der Befehlssatz: TEXT ROTATION - XOR
TEXT ROTATION | |
Erklärung: | Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden |
TEXT STYLE | |
Typ: | Befehl |
Syntax: | TEXT STYLE=<num.Ausdruck> TEXT STYLE=<Stil-Attribut> |
Erklärung: | Definiert die Stil-Attribute des mit TEXT auszugebenden Grafiktextes. Dabei steht
jedes Bit in <Stil-Attribut> für einen Texteffekt. Ist es gesetzt, so wird der Effekt verwendet. Beliebige
Kombinationen sind zulässig. Die einzelnen Bits haben folgende Bedeutung: Bit 0: Bold (fett) Bit 1: Italic (kursiv) Bit 2: Underlined (unterstrichen) Bit 3: Outlined (mit Außenlinie) Bit 4: Shadowed (mit Schatten) Bit 5: Condensed (komprimiert) Bit 6: Extended (ausgedehnt) |
Beispiel: |
TEXT 10,10,"Dieser Text erscheint fett" TEXT STYLE = 2 + 4 TEXT 10,20,"Dieser Text hingegen kursiv und unterstrichen" |
Ergebnis: |
Dieser Text hingegen kursiv und unterstrichen |
siehe auch: | TEXT Set_Text_Face |
THEN | |
Typ: | Befehl |
Syntax: | THEN |
Erklärung: | Steht nach einer IF-Anweisung und wird genau dann ausgeführt, wenn die Aussage hinter IF wahr ist (ungleich 0). |
Beispiel: |
THEN PRINT "1 ist gleich 1" PRINT "Das ist immer wahr!" ELSE PRINT "0 ist ungleich 1" PRINT "Dieser Text wird nie gedruckt!" ENDIF |
Ergebnis: |
Das ist immer wahr! |
siehe auch: | IF ELSE ENDIF |
TIME$ | |
Typ: | Befehl |
Syntax: | TIME$=<String-Ausdruck> |
Erklärung: | Weist der Systemuhr die Zeit <String-Ausdruck> zu. Der String-Ausdruck muß in der Form "HH:MM:SS"
(H=Stunde, M=Minute, S=Sekunde) im 24-Stunden Format angegeben werden. Hinweis: Die mit TIMER ermittelbare Rechner-Laufzeit wird nicht beeinflußt. |
Beispiel: | |
Ergebnis: | |
siehe auch: | TIME$ als Funktion DATE$ als Befehl TIMER |
TIME$ | |
Typ: | Funktion |
Syntax: | TIME$ |
Erklärung: | Gibt die Systemuhr als String zurück. Das Format entspricht dem, das sie mit dem Kontrollfeld 'Datum & Zeit' auf Ihrem Computer eingestellt haben. |
Beispiel: | |
Ergebnis: | |
siehe auch: | TIME$ als Befehl DATE$ als Funktion TIMER |
TIMER | |
Typ: | Funktion |
Syntax: | TIMER |
Erklärung: | Ergibt die Laufzeit des Rechners seit dem Einschalten in 1/200 Sekunden. |
Beispiel: |
FOR I=0 TO 10000000 NEXT I PRINT (TIMER-T)/200 |
Ergebnis: |
|
siehe auch: | TIME$ |
TROFF | |
Erklärung: | Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
TRON | |
Erklärung: | Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
TUNE | |
Typ: | Befehl |
Syntax: | TUNE <num.Ausdruck>,<num.Ausdruck>[[,<num.Ausdruck>,<num.Ausdruck>]] TUNE <Tonkanal>,<Frequenz>[[,<Tonkanal>,<Frequenz>]] |
Erklärung: | Hiermit können Sie die Frequenz eines Tons einstellen. In <Tonkanal> muß ein Wert zwischen 0 und
15 übergeben werden. <Frequenz> kann Werte von 0 - 127 haben. 0 ist der tiefste Ton, 127 der höchste.
Es können bis zu 16 unterschiedliche Tonkanäle mit einem Befehl verändert werden. Hinweis: Um den Ton zu hören, muß den entsprechenden Kanälen mittels VOLUME eine Lautstärke zugewiesen werden. |
Beispiel: |
NOISE 0,0,1,0,2,0 T=0:Dt=12 REPEAT TUNE 0,T,1,T+4,2,T+7:'Akkord c-e-g WAIT 1:T+=Dt IF T<=0 or T>=120 then Dt*=-1 UNTIL LEN(INKEY$) |
Ergebnis: |
|
siehe auch: | VOLUME NOISE MIDI-Noten und Frequenztabelle |
UNTIL | |
Typ: | Befehl |
Syntax: | UNTIL <log.Ausdruck> UNTIL <Abbruch-Bedingung> |
Erklärung: | Beendet die REPEAT ... UNTIL Schleife. Die Schleife wird solange ausgeführt, bis die Abbruch-Bedingung erfüllt ist. |
Beispiel: | |
Ergebnis: | |
siehe auch: | REPEAT NEXT WEND EXIT |
UNLIST | |
Typ: | reserviertes Schlüsselwort |
Erklärung: | Darf vom Benutzer nicht verwendet werden. |
UPPER$ | |
Typ: | Funktion |
Syntax: | UPPER$(<String-Ausdruck>) |
Erklärung: | Wandelt alle im String-Ausdruck enthaltenen Buchstaben in große Buchstaben um. Ist MODE "D" eingestellt, so werden auch die Umlaute ä, ö, ü gewandelt. Gegenstück zu dieser Funktion ist LOWER$. |
Beispiel: | |
Ergebnis: | |
siehe auch: | LOWER$ MODE |
USING | |
Typ: | Befehl |
Syntax: | USING [<String-Ausdruck>] |
Erklärung: | Stellt das Ausgabeformat für die Befehle PRINT, LPRINT, PRINT # und die Funktion STR$ ein. USING allein ohne <String-Ausdruck> schaltet wieder auf normale Ausgabe zurück. Welche Zeichen der String-Ausdruck enthalten darf und wie diese wirken ist bei PRINT USING erklärt. |
Beispiel: | |
Ergebnis: | |
siehe auch: | PRINT USING LPRINT STR$ |
USR | |
Typ: | Funktion |
Syntax: | USR(<num.Ausdruck>) |
Erklärung: | Die mit DEF USR definierte Maschinensprachefunktion wird aufgerufen. Der Parameter wird im Register R3 übergeben.
Der im Register R3 erhaltene Wert wird als Funktionsergebnis an das BASIC-Programm zurückgegeben. Es dürfen nur die von Apple als 'volatile' deklarierten Register verändert werden. Im einzelnen sind dies: R0,R3-R12 FPR0-FPR13 CR0,CR1,CR5-CR7 R31 zeigt auf den dynamischen Stack. Das Programm muß mit 'Blr' beendet werden. Wird das Linkregister verändert, so ist darauf zu achten, daß es vor der Rückkehr wieder restauriert wird. Fehler, die Ihr Maschinenprogramm verursacht, können vom Omikron Basic nicht abgefangen werden. Es empfiehlt sich daher, in der Testphase zuvor einen geeigneten Debugger zu starten. Achtung: Wird die USR-Funktion aufgerufen, ohne daß zuvor mit DEF USR eine Einsprungsadresse definiert wurde, so kommt es mit ziemlicher Sicherheit zum Totalabsturz des Computers, da dann zu einer undefinierten Adresse gesprungen wird. |
Beispiel: | |
Ergebnis: | |
siehe auch: | DEF USR CALL INLINE |
VAL | |
Typ: | Funktion |
Syntax: | VAL(<String-Ausdruck>) |
Erklärung: | Der String-Ausdruck wird nach Möglichkeit in ein numerisches Ergebnis umgewandelt. Dabei wird solange von
links nach rechts gelesen, bis kein gültiges Zahlzeichen mehr folgt. Führende Leerzeichen werden überlesen. Gültige Zahlzeichen sind: $ & % 0 1 2 3 4 5 6 7 8 9 + - . D E Hinweis: VAL kann durch Hinzufügen der Prefixe "$" oder "%" auch zum Wandeln zwischen verschiedenen Zahlensystemen benutzt werden (z.B. HEX -> Dezimal). |
Beispiel: |
INPUT "Geben Sie eine HEX-Zahl ein : ";Zahl$ USING Hex_In$,R,2 Zahl$= RIGHT$("000"+Zahl$,3) PRINT Zahl$;"h ist Dezimal: "; VAL("$"+Zahl$) |
Ergebnis: |
|
siehe auch: | STR$ BIN$ HEX$ OCT$ |
VARPTR | |
Typ: | Funktion |
Syntax: | VARPTR(<Variable>) |
Erklärung: | VARPTR ermittelt die Adresse einer Variablen, eines Feldes oder einer Funktion und ist identisch mit dem Operator "&". Eine genaue Erklärung finden Sie dort. |
Beispiel: |
DIM Werte#(10) PRINT FN Get_Max#(VARPTR(Werte#()),5) ' nur die ersten 5 END DEF FN Get_Max#(Pointer,N) |
Ergebnis: |
|
siehe auch: | & (Adressoperator) SEGPTR Speicherorganisation im Omikron Basic |
VDI | |
Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
VERSION | |
Typ: | Funktion |
Syntax: | VERSION |
Erklärung: | Liefert die Versionsnummer des für die Übersetzung verwendeten Omikron Basic Compilers zurück. |
Beispiel: | |
Ergebnis: | |
siehe auch: |
VOLUME | |
Typ: | Befehl |
Syntax: | VOLUME <num.Ausdruck>,<num.Ausdruck>[[,<num.Ausdruck>,<num.Ausdruck>]] VOLUME <Tonkanal>,<Lautstärke>[[,<Tonkanal>,<Lautstärke>]] |
Erklärung: | Den angegebenen Tonkanälen wird die jeweilige Lautstärke zugewiesen. In <Tonkanal> muß ein
Wert zwischen 0 und 15 übergeben werden. <Lautstärke> kann Werte von 0 - 255 haben. 0 bedeutet,
daß der Ton aus ist, 255 ist maximale Lautstärke. Es können bis zu 16 unterschiedliche Tonkanäle mit einem Befehl verändert werden. Hinweis: Um den Ton zu hören, muß den entsprechenden Kanälen mittels TUNE eine Frequenz zugewiesen werden. |
Beispiel: |
T=0:Dt=1 REPEAT VOLUME 0,T:WAIT 0.01 T+=Dt IF T<=0 or T>=255 then Dt*=-1 UNTIL LEN(INKEY$) |
Ergebnis: |
|
siehe auch: | NOISE TUNE Tabelle der MIDI Noten |
WAIT | |
Typ: | Befehl |
Syntax: | WAIT <num.Ausdruck> |
Erklärung: | Wartet die im numerischen Ausdruck genannte Zeit in Sekunden. Während dieser Zeit können andere Prozesse weiterbenutzt werden. Das System wird also durch WAIT nicht blockiert. Wenn jedoch während der Wartezeit ein anderer Prozess das System blockiert, so kann sich die effektive Wartezeit dadurch verlängern. |
Beispiel: |
REPEAT PRINT "Diese Schleife läuft genau 5 Sekunden" WAIT 0.5 UNTIL TIMER>T+200*5 |
Ergebnis: |
|
siehe auch: |
WEND | |
Typ: | Befehl |
Syntax: | WEND |
Erklärung: | Beendet die WHILE ...WEND Schleife. |
Beispiel: | |
Ergebnis: | |
siehe auch: | WHILE EXIT NEXT UNTIL |
WHILE | |
Typ: | Befehl |
Syntax: | WHILE <num.Ausdruck> WHILE <log.Ausdruck> |
Erklärung: | Mit WHILE wird eine Programmschleife eingeleitet, die solange die von ihr abhängigen Befehle wiederholt, bis der logische Ausdruck nicht mehr erfüllt (gleich 0) ist. Die Bedingung wird immer am Anfang der Schleife geprüft, das heißt, die WHILE ... WEND Schleife ist eine abweisende Schleife. Wenn die Bedingung gleich zu Anfang nicht erfüllt ist, wird keiner der abhängigen Befehle ausgeführt und zum Ende der Schleife (hinter das WEND) verzweigt. |
Beispiel: |
WHILE NOT EOF(1) PRINT INPUT$(1,1); WEND CLOSE 1 PRINT "Bitte geben sie mehrere Wörter durch Leerzeichen getrennt ein:" |
Ergebnis: |
Im zweiten Beispiel wird der Benutzer aufgefordert, mehrere Wörter einzugeben. Das Programm sucht diesen String dann nach Leerzeichen ab und gibt die Ergebnisse auf dem Bildschirm aus. |
siehe auch: | REPEAT FOR EXIT |
WPEEK | |
Typ: | Funktion |
Syntax: | WPEEK(<num.Ausdruck>) |
Erklärung: | Liest an der durch den numerischen Ausdruck gegebenen Adresse eine 2-Byte-Zahl. Die Adresse sollte durch zwei teilbar sein, da sich die Zugriffszeit sonst deutlich verlangsamt. Der gelesene Wert wird immer als Zweierkomplement-Darstellung einer Short-Integer-Zahl aufgefaßt und liegt im Bereich von -32768 bis +32767. |
Beispiel: |
WPOKE Speicher,$FFFF PRINT WPEEK(Speicher) |
Ergebnis: |
|
siehe auch: | WPOKE POKE PEEK LPOKE LPEEK |
WPOKE | |
Typ: | Befehl |
Syntax: | WPOKE <num.Ausdruck>,<num. Ausdruck> WPOKE <Adresse>,<Wert> |
Erklärung: | Legt den Wert an der angegebenen Adresse als Short-Integer-Zahl ab. Die Adresse sollte durch zwei teilbar sein, da sich die Zugriffszeit sonst deutlich verlangsamt. Es werden immer nur die unteren 16 Bits des angegebenen Wertes in die gewünschte Speicheradresse geschrieben. |
Beispiel: |
WPOKE Speicher,$FFFF WPOKE Speicher+2,-1 WPOKE Speicher+4,65500 PRINT LPEEK(Speicher) |
Ergebnis: |
|
siehe auch: | WPEEK POKE PEEK LPOKE LPEEK |
WRITE | |
Typ: | Befehl |
Syntax: | WRITE <Ausdruck>[[,<Ausdruck>]] WRITE <Ausgabe>[[,<Ausgabe>]] |
Erklärung: | WRITE gibt wie PRINT beliebige Ausdrücke auf dem Bildschirm aus. String-Ausdrücke werden in Anführungszeichen gesetzt und alle Ausgaben durch Kommata getrennt. |
Beispiel: |
WRITE ,Test$,PI,1.23 |
Ergebnis: |
|
siehe auch: |
WRITE # | |
Typ: | Befehl |
Syntax: | WRITE #<num.Ausdruck>,<Ausdruck>[[,<Ausdruck>]] WRITE #<Dateinummer>,<Ausgabe>[[,<Ausgabe>]] |
Erklärung: | WRITE # gibt - ähnlich wie PRINT # - beliebige numerische oder String-Ausdrücke in eine Datei aus. Die Datei muß zuvor mit OPEN geöffnet worden sein. Im Vergleich zu PRINT # setzt WRITE # alle String-Ausdrücke in Anführungszeichen und trennt alle Ausdrücke durch Kommata ab. Das hat besonders beim Schreiben von Dateien, die mit INPUT # wieder gelesen werden sollen, große Vorteile. |
Beispiel: |
OPEN "P",1 WRITE #1,Test$,PI,1.23 CLOSE 1 |
Ergebnis: |
|
siehe auch: | PRINT # OPEN INPUT # |
WVBL | |
Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden |
W_CHAR | |
Typ: | Funktion |
Syntax: | W_CHAR |
Erklärung: | Diese Funktion ergibt die Breite des Bildschirms in Zeichen. Da bei Proportinalzeichensätzen die Breite der Buchstaben variiert, wird in diesem Fall die Breite der Null zugrunde gelegt. |
Beispiel: | |
Ergebnis: | |
siehe auch: | H_CHAR W_PIXEL H_PIXEL |
W_PIXEL | |
Typ: | Funktion |
Syntax: | W_PIXEL |
Erklärung: | Diese Funktion ergibt die Breite des Bildschirms in Pixeln. |
Beispiel: | |
Ergebnis: | |
siehe auch: | H_PIXEL W_CHAR H_CHAR |
XBIOS | |
Erklärung: | Hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden |
XOR | |
Typ: | Operator |
Syntax: | <num.Ausdruck>XOR <num.Ausdruck> |
Erklärung: | Die beiden Ausdrücke werden bitweise logisch "exklusiv-oder" verknüpft. |
Beispiel: |
|
Ergebnis: |
|
siehe auch: | OR NOR AND NAND IMP EQV NOT |